컴퓨터 시뮬레이션
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
컴퓨터 시뮬레이션은 컴퓨터를 사용하여 현실 세계의 시스템이나 과정을 모방하는 기술을 의미한다. 제2차 세계 대전 중 핵무기 개발을 위해 처음 대규모로 사용된 이후 컴퓨터 기술의 발전과 함께 다양한 분야로 확대되었다. 시뮬레이션은 모델을 실행하는 과정으로, 데이터 준비, 모델 분류, 시각화 등을 통해 이루어진다. 확률적, 결정론적, 정상 상태, 동적, 연속, 이산 등 다양한 유형이 존재하며, 과학, 공학, 사회과학, 경제학 등 광범위한 분야에서 활용된다. 컴퓨터 시뮬레이션의 결과는 애니메이션이나 그래프로 시각화될 수 있으며, 정확한 결과를 위해서는 민감도 분석과 같은 주의사항을 고려해야 한다.
더 읽어볼만한 페이지
- 모델링 (과학) - 원자 모형
원자 모형은 원자 구조를 설명하기 위해 제시된 다양한 모델들의 변천사로, 돌턴 모형, 톰슨 모형, 러더퍼드 모형, 보어 모형을 거쳐 현대 원자 모형에 이르기까지 발전해 왔다. - 모델링 (과학) - 맞춤의학
맞춤의학은 환자의 유전적, 분자 생물학적, 세포적 특징을 고려하여 개인에게 최적화된 치료법을 제공하는 의료 모델로, 더 나은 진단과 효율적인 약물 개발, 표적화된 치료법을 제공하지만 데이터 관련 문제와 규제 및 윤리적 문제 등의 과제를 안고 있다. - 계산 학문 분야 - 계산물리학
계산물리학은 컴퓨터를 활용하여 물리 현상을 시뮬레이션하고 연구하는 분야이며, 수학적 모형과 수치값을 사용하여 다양한 물리 분야에 적용된다. - 계산 학문 분야 - 화학정보학
화학정보학은 화학, 컴퓨터 과학, 정보 과학을 융합하여 신약 개발에 기여하는 학문 분야이며, 화합물 정보 관리, 가상 스크리닝 등 다양한 분야에 응용된다. - 시뮬레이션 소프트웨어 - Folding@home
Folding@home은 단백질 폴딩 연구를 위해 전 세계 컴퓨터 자원을 활용하여 알츠하이머병, 헌팅턴병 등 질병 연구에 기여하는 분산 컴퓨팅 프로젝트이다. - 시뮬레이션 소프트웨어 - 스탬핑
스탬핑은 기원전 7세기 주화 주조에서 시작되어 다양한 형태로 금속을 가공하는 제조 공정으로, 굽힘, 플랜징, 엠보싱, 블랭킹, 코이닝, 드로잉 등 다양한 공정을 포함하며 자동차, 항공우주, 전기/전자, 의료 등 여러 산업 분야에서 활용된다.
컴퓨터 시뮬레이션 | |
---|---|
컴퓨터 시뮬레이션 | |
유형 | 컴퓨터 모델 |
관련 항목 | 모델링 시뮬레이션 컴퓨터 과학 수학 모델 몬테카를로 방법 과학 시뮬레이션 데이터 모델링 전산 유체 역학 |
응용 분야 | |
과학 연구 | 기상학 기후학 물리학 화학 생물학 공학 경제학 심리학 사회학 |
기타 응용 | 군사 게임 영화 |
2. 역사
컴퓨터 시뮬레이션은 제2차 세계 대전 당시 맨해튼 프로젝트에서 핵무기 핵폭발 과정을 모델링하기 위해 처음 대규모로 사용된 이후, 컴퓨터의 급격한 성장과 함께 발전했다.[7] 이는 경질 구 12개를 몬테카를로 알고리즘을 사용하여 시뮬레이션한 것이었다.[7] 컴퓨터 시뮬레이션은 간단한 폐쇄 형식 해법을 얻는 것이 불가능한 시스템을 모델링하는 데 대한 보조 수단이나 대체 수단으로 자주 사용된다.[7] 컴퓨터 시뮬레이션에는 여러 종류가 있으며, 모든 가능한 모델의 상태를 완전하게 열거하는 것이 불가능하거나 과도한 모델에 대한 대표적인 시나리오 샘플을 생성하려는 공통적인 특징이 있다.[7]
2. 1. 제2차 세계 대전
컴퓨터 시뮬레이션은 제2차 세계 대전 당시 맨해튼 프로젝트에서 핵무기의 핵폭발 과정을 모델링하기 위해 처음 대규모로 사용되었다.[7] 이는 경질 구 12개를 몬테카를로 알고리즘을 사용하여 시뮬레이션한 것이었다.[7] 컴퓨터 시뮬레이션은 간단한 폐쇄 형식 해법을 얻는 것이 불가능한 시스템을 모델링하는 데 대한 보조 수단이나 대체 수단으로 자주 사용된다.[7]2. 2. 냉전 시대
컴퓨터 시뮬레이션은 제2차 세계 대전 당시 맨해튼 프로젝트에서 핵무기 핵폭발 과정을 모델링하기 위해 처음 대규모로 사용되었으며,[7] 경질 구 12개를 몬테카를로 알고리즘을 사용하여 시뮬레이션하였다.[7]2. 3. 현대
컴퓨터 시뮬레이션은 제2차 세계 대전 당시 맨해튼 프로젝트에서 핵무기 핵폭발 과정을 모델링하기 위해 처음 대규모로 사용된 이후,[7] 컴퓨터의 급격한 성장과 함께 발전하여 다양한 분야로 응용 범위가 확대되었다. 과학, 공학, 사회과학, 경제학 등에서 널리 사용되고 있으며, 특히 인공지능, 빅데이터 등과의 융합을 통해 더욱 발전하고 있다. 이는 경질 구 12개를 몬테카를로 알고리즘을 사용하여 시뮬레이션한 것이었다.[7] 컴퓨터 시뮬레이션은 간단한 폐쇄 형식 해법을 얻는 것이 불가능한 시스템을 모델링하는 데 대한 보조 수단이나 대체 수단으로 자주 사용된다.[7]3. 시뮬레이션과 모델
모델은 시스템의 동작을 포착하는 데 사용되는 방정식으로 구성된다. 반면에 컴퓨터 시뮬레이션은 이러한 방정식을 풀기 위한 알고리즘을 수행하는 프로그램을 실제로 실행하는 것으로, 종종 근사적인 방식으로 수행된다. 따라서 시뮬레이션은 모델을 실행하는 과정이다. 즉, "시뮬레이션을 구축"하는 것이 아니라 "모델(또는 시뮬레이터)을 구축"한 다음 "모델을 실행"하거나 이와 동등하게 "시뮬레이션을 실행"한다.
4. 데이터 준비
시뮬레이션에는 다양한 종류의 입력 데이터가 필요하며, 데이터의 양은 몇 개의 숫자에서부터 테라바이트 단위까지 다양할 수 있다.[8] 데이터 출처는 센서, 제어 표면, 수동 입력, 다른 프로세스의 출력 값 등 다양하다.[8] 데이터 사용 시점 또한 불변 데이터, 전처리된 데이터, 실시간 데이터 등으로 다양하다.[8]
데이터를 사용할 수 있는 시점도 다양하다.:[8]
- "불변" 데이터는 값이 실제로 불변(예: π 값)하거나 설계자가 관심 있는 모든 경우에 대해 값을 불변으로 간주하기 때문에 종종 모델 코드에 내장된다.
- 데이터는 시작 시 하나 이상의 파일을 읽거나 전처리 프로세서에서 데이터를 읽어 시뮬레이션에 입력할 수 있다.
- 데이터는 센서 네트워크를 통해 시뮬레이션 실행 중에 제공될 수 있다.
이러한 다양성과 여러 시뮬레이션 시스템의 공통 요소 때문에, 시뮬라를 비롯한 전문화된 시뮬레이션 언어들이 개발되었다.[8]
외부 소스에서 데이터를 수집하는 시스템은 수신하는 데이터의 정확도 (측정 해상도 및 정밀도에 비교)를 고려해야 한다.[8] "오차 막대"로 표현되는 실제 값의 위치 범위에서 최소 및 최대 편차를 고려하고, 반올림 및 절단 오차로 인한 오차 증가를 확인하기 위해 "오차 분석"을 수행하여 출력 값의 유용성을 검증하는 것이 좋다.[8]
5. 유형
컴퓨터 시뮬레이션 모델은 여러 기준에 따라 분류할 수 있다.
- 확률적 또는 결정론적 (그리고 결정론적의 특별한 경우인 혼돈) – 확률적 시뮬레이션과 결정론적 시뮬레이션의 예는 아래 외부 링크 참조
- 정상 상태 또는 동적
- 연속 또는 이산 (그리고 이산의 중요한 특별한 경우인 이산 사건 또는 DE 모델)
- 동적 시스템 시뮬레이션, 예를 들어 전기 시스템, 유압 시스템 또는 다물체 기계 시스템 (주로 DAE:s로 설명됨) 또는 전장 문제의 동역학 시뮬레이션, 예를 들어 CFD 또는 FEM 시뮬레이션 (PDE:s로 설명됨).
- 로컬 또는 분산.
모델을 분류하는 또 다른 방법은 기본 데이터 구조를 살펴보는 것이다. 시간 단계별 시뮬레이션의 경우 두 가지 주요 클래스가 있다.
- 데이터를 정규 그리드에 저장하고 다음 인접 항목에만 액세스해야 하는 시뮬레이션은 스텐실 코드라고 한다. 많은 CFD 응용 프로그램이 이 범주에 속한다.
- 기본 그래프가 정규 그리드가 아닌 경우 모델은 무요소법 클래스에 속할 수 있다.
정상 상태 시뮬레이션의 경우 방정식은 모델링된 시스템의 요소 간의 관계를 정의하고 시스템이 평형 상태에 있는 상태를 찾으려고 시도한다. 이러한 모델은 동적 시뮬레이션을 시도하기 전에 더 간단한 모델링 사례로 물리적 시스템을 시뮬레이션하는 데 자주 사용된다.
- 동적 시뮬레이션은 (일반적으로 변경되는) 입력 신호에 대한 응답으로 시스템의 변화를 포착하려고 시도한다.
- ''확률적'' 모델은 ''난수 생성기''를 사용하여 우연 또는 무작위 사건을 모델링한다.
- ''이산 사건 시뮬레이션''(DES)은 시간에 따라 이벤트를 관리한다. 대부분의 컴퓨터, 논리 테스트 및 결함 트리 시뮬레이션이 이러한 유형이다. 이러한 유형의 시뮬레이션에서 시뮬레이터는 발생해야 하는 시뮬레이션 시간별로 정렬된 이벤트 대기열을 유지한다. 시뮬레이터는 대기열을 읽고 각 이벤트가 처리될 때 새 이벤트를 트리거한다. 시뮬레이션을 실시간으로 실행하는 것은 중요하지 않습니다. 시뮬레이션에서 생성된 데이터에 액세스하고 설계 또는 일련의 이벤트에서 논리 결함을 발견할 수 있는 것이 더 중요한 경우가 많다.
- ''연속 동적 시뮬레이션''은 미분-대수 방정식 또는 미분 방정식 (편미분 또는 상미분)의 수치 해를 수행한다. 주기적으로 시뮬레이션 프로그램은 모든 방정식을 풀고 해당 숫자를 사용하여 시뮬레이션의 상태와 출력을 변경한다. 응용 분야에는 비행 시뮬레이터, 건설 및 관리 시뮬레이션 게임, 화학 공정 모델링 및 전기 회로 시뮬레이션이 있다. 원래 이러한 종류의 시뮬레이션은 실제로 아날로그 컴퓨터에서 구현되었으며, 여기서 미분 방정식은 연산 증폭기와 같은 다양한 전기 부품으로 직접 표현될 수 있었다. 그러나 1980년대 후반까지 대부분의 "아날로그" 시뮬레이션은 아날로그 컴퓨터의 동작을 에뮬레이트하는 기존의 디지털 컴퓨터에서 실행되었다.
- 기본 방정식이 있는 모델에 의존하지 않지만 그럼에도 불구하고 공식적으로 표현될 수 있는 이산 시뮬레이션의 특별한 유형은 에이전트 기반 시뮬레이션이다. 에이전트 기반 시뮬레이션에서 모델의 개별 개체 (분자, 세포, 나무 또는 소비자 등)는 (밀도 또는 농도가 아닌) 직접적으로 표현되며 에이전트의 상태가 한 타임스텝에서 다음 타임스텝으로 업데이트되는 방식을 결정하는 내부 상태와 일련의 동작 또는 규칙을 가집니다.
- 분산 모델은 인터넷을 통해 상호 연결된 컴퓨터 네트워크에서 실행될 수 있다. 이와 같이 여러 호스트 컴퓨터에 분산된 시뮬레이션은 종종 "분산 시뮬레이션"이라고 한다. 분산 시뮬레이션에는 Aggregate Level Simulation Protocol(ALSP), 분산 상호 작용 시뮬레이션 (DIS), HLA 및 Test and Training Enabling Architecture(TENA)를 포함한 여러 표준이 있다.
5. 1. 확률적 vs 결정론적
컴퓨터 시뮬레이션 모델은 확률적 모델과 결정론적 모델로 분류할 수 있다. 확률적 모델은 난수 생성기를 사용하여 무작위 사건을 모델링한다. 반면, 결정론적 모델은 동일한 입력에 대해 항상 동일한 결과를 생성한다. 혼돈 모델은 결정론적이지만 초기 조건에 매우 민감하게 반응하는 특징을 가진다.5. 2. 정상 상태 vs 동적
컴퓨터 시뮬레이션에 사용되는 모델은 몇 가지 독립적인 속성 쌍에 따라 분류될 수 있는데, 그 중 하나가 정상 상태 또는 동적이다. 정상 상태 시뮬레이션은 방정식이 모델링된 시스템의 요소 간의 관계를 정의하고 시스템이 평형 상태에 있는 상태를 찾으려고 시도한다. 이러한 모델은 동적 시뮬레이션을 시도하기 전에 더 간단한 모델링 사례로 물리적 시스템을 시뮬레이션하는 데 자주 사용된다. 반면 동적 시뮬레이션은 (일반적으로 변경되는) 입력 신호에 대한 응답으로 시스템의 변화를 포착하려고 시도한다.5. 3. 연속 vs 이산
컴퓨터 시뮬레이션 모델은 연속 또는 이산 (그리고 이산의 중요한 특별한 경우인 이산 사건 또는 DE 모델)등의 속성으로 분류될 수 있다. 연속 동적 시뮬레이션은 미분-대수 방정식 또는 미분 방정식 (편미분 또는 상미분)의 수치 해를 수행한다. 주기적으로 시뮬레이션 프로그램은 모든 방정식을 풀고 해당 숫자를 사용하여 시뮬레이션의 상태와 출력을 변경하며, 전기 회로 시뮬레이션등이 이산 모델이 아닌 연속 모델을 사용한 시뮬레이션에 해당한다. 반면, 이산 사건 시뮬레이션은 시간에 따라 이벤트를 관리하며, 대부분의 컴퓨터, 논리 테스트 및 결함 트리 시뮬레이션이 이러한 유형이다.5. 4. 동적 시스템 시뮬레이션
동적 시스템 시뮬레이션은 전기 시스템, 유압 시스템 또는 다물체 기계 시스템과 같이 입력 신호에 대한 응답으로 시스템의 변화를 포착한다. 이러한 시뮬레이션은 주로 미분-대수 방정식(DAE)으로 설명된다. 원래 이러한 종류의 시뮬레이션은 아날로그 컴퓨터에서 구현되었지만, 1980년대 후반부터는 아날로그 컴퓨터의 동작을 에뮬레이트하는 기존의 디지털 컴퓨터에서 실행되었다.5. 5. 로컬 vs 분산
분산 모델은 인터넷을 통해 상호 연결된 컴퓨터 네트워크에서 실행될 수 있다. 이와 같이 여러 호스트 컴퓨터에 분산된 시뮬레이션은 종종 "분산 시뮬레이션"이라고 한다. 분산 시뮬레이션에는 ALSP, DIS, HLA, TENA를 포함한 여러 표준이 있다.5. 6. 데이터 구조에 따른 분류
컴퓨터 시뮬레이션 모델은 기본 데이터 구조에 따라 분류할 수 있다. 시간 단계별 시뮬레이션의 경우, 데이터를 정규 그리드에 저장하고 인접 항목에만 접근하는 스텐실 코드와 기본 그래프가 정규 그리드가 아닌 무요소법으로 나뉜다. 많은 전산 유체 역학(CFD) 응용 프로그램이 스텐실 코드 범주에 속한다.6. 시각화
과거에는 컴퓨터 시뮬레이션의 출력 데이터가 시뮬레이션 매개변수의 변화에 따라 데이터가 어떻게 영향을 받는지 보여주는 표나 행렬 형태로 제시되기도 했다. 행렬 형식의 사용은 수학 모형에서 행렬 개념의 전통적인 사용과 관련이 있었다. 그러나 인간이 데이터를 기반으로 생성된 그래프나 움직이는 이미지 또는 동영상을 보면서 추세를 빠르게 파악할 수 있다는 점이 지적되었다. 이러한 데이터는 컴퓨터 생성 이미지 (CGI) 애니메이션으로 표시되었다.
오늘날 일기 예보 모델은 움직이는 비/눈 구름의 모습과 숫자 좌표 및 사건의 숫자 타임스탬프를 사용하는 지도 사이의 균형을 유지하는 경향이 있다. CT 스캔의 CGI 컴퓨터 시뮬레이션은 뇌종양이 장기간의 의료 치료 기간 동안 어떻게 축소되거나 변화하는지 시뮬레이션할 수 있으며, 종양의 변화에 따라 가시적인 인간 머리의 회전하는 모습을 시간의 흐름으로 제시한다.
CGI 컴퓨터 시뮬레이션의 다른 응용 분야는 시뮬레이션 실행 중에 변경이 발생함에 따라 대량의 데이터를 움직임으로 그래픽하게 표시하도록 개발되고 있다.
7. 과학 분야에서의 활용
과학 분야에서 컴퓨터 시뮬레이션의 일반적인 예시는 기반이 되는 수학적 설명을 통해 파생된다.[9]
- 분석적으로 해결할 수 없는 미분 방정식의 수치 시뮬레이션은 물리 우주론, 유체 역학(기후 모델, 도로 소음 모델, 도로 대기 확산 모델 등), 연속체 역학 및 화학 반응 속도론과 같은 연속 시스템을 포함하는 이론에 사용된다.
- 확률적 시뮬레이션은 일반적으로 사건이 확률적으로 발생하고 미분 방정식으로 직접 설명할 수 없는 이산 시스템에 사용된다. 이 범주에 속하는 현상에는 유전자 부동, 생화학 또는 소수의 분자를 가진 유전자 조절 네트워크가 포함된다.
- 다중 입자 시뮬레이션은 나노 물질의 열탄성 및 열역학적 특성을 모델링하기 위해 가해진 힘에 대한 여러 규모에서의 반응에 사용된다. 이러한 시뮬레이션에 사용되는 기술은 분자 역학, 분자 역학, 몬테 카를로 방법 및 멀티스케일 그린 함수이다.
컴퓨터 시뮬레이션의 구체적인 예는 다음과 같다.
- 통계적 시뮬레이션은 많은 수의 입력 프로파일을 집합하여 얻는다. 예를 들어 특정 지역에 대한 기상 데이터를 모두 입력할 수 있게 하여 수용수의 평형 온도를 예측하는 데 사용되며, 열 오염 예측을 위해 개발되었다.
- 에이전트 기반 시뮬레이션은 생태학에서 효과적으로 사용되었으며, 종종 "개체 기반 모델링"이라고 불린다. 이는 에이전트의 개별적인 가변성을 무시할 수 없는 상황(예: 연어 및 송어의 개체군 동태)에 사용된다.
- 시간 단계 동적 모델은 수문학에서 사용된다. 예를 들어 SWMM 및 DSSAM 모델과 같이 미국 환경 보호국에서 강 수질 예측을 위해 개발한 몇 가지 수문학 수송 모델이 있다.
- 컴퓨터 시뮬레이션은 계산 인지 이론과 인간 인지 및 수행 능력에 대한 모델을 공식적으로 모델링하는 데 사용되었다(예: ACT-R).
- 컴퓨터 시뮬레이션은 신약 개발을 위한 분자 모델링에 사용된다.[10]
- 포유류 세포에서 바이러스 감염을 모델링하기 위한 컴퓨터 시뮬레이션이 있다.[9]
- 유기 분자를 분쇄하는 동안 기계화학에 의한 결합의 선택적 민감성을 연구하기 위한 컴퓨터 시뮬레이션도 있다.[11]
- 전산 유체 역학 시뮬레이션은 공기, 물 및 기타 유체의 흐름을 시뮬레이션하는 데 사용된다. 1차원 모델은 파이프의 워터 해머 효과를 시뮬레이션할 수 있다. 2차원 모델은 비행기 날개의 단면에 작용하는 항력을 시뮬레이션하는 데 사용될 수 있다. 3차원 시뮬레이션은 대형 건물의 난방 및 냉방 요구 사항을 추정할 수 있다.
통계 열역학 분자 이론에 대한 이해는 분자 용액을 이해하는 데 필수적이다. 전위 분포 정리(PDT)의 개발은 이 복잡한 주제를 분자 이론에 대한 실용적인 발표로 단순화할 수 있게 해준다.
과학에서 사용된 주목할 만한, 때로는 논란의 여지가 있는 컴퓨터 시뮬레이션에는 도넬라 메도우즈의 월드3(성장의 한계에 사용됨), 제임스 러브록의 데이지월드 및 토마스 레이의 테라가 있다.
사회 과학에서 컴퓨터 시뮬레이션은 데이터 침투 방법론에서 육성하는 5가지 분석 각도의 필수 구성 요소이며,[12] 여기에는 질적 및 양적 방법, 문헌 검토(학술 포함) 및 전문가와의 인터뷰가 포함되며 데이터 삼각 측량의 확장을 형성한다. 다른 과학적 방법과 마찬가지로, 재현성은 계산 모델링의 중요한 부분이다.[13]
7. 1. 예시
과학 분야에서 컴퓨터 시뮬레이션의 일반적인 예시는 기반이 되는 수학적 설명을 통해 파생된다.[9]
- 분석적으로 해결할 수 없는 미분 방정식의 수치 시뮬레이션은 물리 우주론, 유체 역학(기후 모델, 도로 소음 모델, 도로 대기 확산 모델 등), 연속체 역학 및 화학 반응 속도론과 같은 연속 시스템을 포함하는 이론에 사용된다.
- 확률적 시뮬레이션은 일반적으로 사건이 확률적으로 발생하고 미분 방정식으로 직접 설명할 수 없는 이산 시스템에 사용된다. 이 범주에 속하는 현상에는 유전자 부동, 생화학 또는 소수의 분자를 가진 유전자 조절 네트워크가 포함된다.
- 다중 입자 시뮬레이션은 나노 물질의 열탄성 및 열역학적 특성을 모델링하기 위해 가해진 힘에 대한 여러 규모에서의 반응에 사용된다. 이러한 시뮬레이션에 사용되는 기술은 분자 역학, 분자 역학, 몬테 카를로 방법 및 멀티스케일 그린 함수이다.
컴퓨터 시뮬레이션의 구체적인 예는 다음과 같다.
- 통계적 시뮬레이션은 많은 수의 입력 프로파일을 집합하여 얻는다. 예를 들어 특정 지역에 대한 기상 데이터를 모두 입력할 수 있게 하여 수용수의 평형 온도를 예측하는 데 사용되며, 열 오염 예측을 위해 개발되었다.
- 에이전트 기반 시뮬레이션은 생태학에서 효과적으로 사용되었으며, 종종 "개체 기반 모델링"이라고 불린다. 이는 에이전트의 개별적인 가변성을 무시할 수 없는 상황(예: 연어 및 송어의 개체군 동태)에 사용된다.
- 시간 단계 동적 모델은 수문학에서 사용된다. 예를 들어 SWMM 및 DSSAM 모델과 같이 미국 환경 보호국에서 강 수질 예측을 위해 개발한 몇 가지 수문학 수송 모델이 있다.
- 컴퓨터 시뮬레이션은 계산 인지 이론과 인간 인지 및 수행 능력에 대한 모델을 공식적으로 모델링하는 데 사용되었다(예: ACT-R).
- 컴퓨터 시뮬레이션은 신약 개발을 위한 분자 모델링에 사용된다.[10]
- 포유류 세포에서 바이러스 감염을 모델링하기 위한 컴퓨터 시뮬레이션이 있다.[9]
- 유기 분자를 분쇄하는 동안 기계화학에 의한 결합의 선택적 민감성을 연구하기 위한 컴퓨터 시뮬레이션도 있다.[11]
- 전산 유체 역학 시뮬레이션은 공기, 물 및 기타 유체의 흐름을 시뮬레이션하는 데 사용된다. 1차원 모델은 파이프의 워터 해머 효과를 시뮬레이션할 수 있다. 2차원 모델은 비행기 날개의 단면에 작용하는 항력을 시뮬레이션하는 데 사용될 수 있다. 3차원 시뮬레이션은 대형 건물의 난방 및 냉방 요구 사항을 추정할 수 있다.
통계 열역학 분자 이론에 대한 이해는 분자 용액을 이해하는 데 필수적이다. 전위 분포 정리(PDT)의 개발은 이 복잡한 주제를 분자 이론에 대한 실용적인 발표로 단순화할 수 있게 해준다.
과학에서 사용된 주목할 만한, 때로는 논란의 여지가 있는 컴퓨터 시뮬레이션에는 도넬라 메도우즈의 월드3(성장의 한계에 사용됨), 제임스 러브록의 데이지월드 및 토마스 레이의 테라가 있다.
사회 과학에서 컴퓨터 시뮬레이션은 데이터 침투 방법론에서 육성하는 5가지 분석 각도의 필수 구성 요소이며,[12] 여기에는 질적 및 양적 방법, 문헌 검토(학술 포함) 및 전문가와의 인터뷰가 포함되며 데이터 삼각 측량의 확장을 형성한다. 다른 과학적 방법과 마찬가지로, 재현성은 계산 모델링의 중요한 부분이다.[13]
7. 2. 주목할 만한 시뮬레이션
과학에서 사용된 주목할 만한 컴퓨터 시뮬레이션에는 도넬라 메도우즈의 월드3 (''성장의 한계''에 사용됨), 제임스 러브록의 데이지월드, 토마스 레이의 테라가 있다.[12][13] 사회 과학에서 컴퓨터 시뮬레이션은 데이터 침투 방법론에서 육성하는 5가지 분석 각도의 필수 구성 요소이며, 질적 및 양적 방법, 문헌 검토(학술 포함) 및 전문가와의 인터뷰를 포함하며 데이터 삼각 측량의 확장을 형성한다.
8. 실용적 응용
컴퓨터 시뮬레이션은 다음과 같이 다양한 실용적인 맥락에서 사용된다.
- 대기 오염 물질의 대기 확산 모델링을 이용한 분석
- 동물 권리와 관련하여 살아있는 동물 실험에 대한 인도적인 대안으로서의 가능성.
- 항공기와 같은 복잡한 시스템 및 물류 시스템 설계.
- 도로 소음 감소 효과를 위한 방음벽 설계
- 애플리케이션 성능 관리의 모델링[14]
- 조종사 훈련을 위한 비행 시뮬레이터
- 기상 예보
- 위험 예측
- 전기 회로 시뮬레이션
- 전력 시스템 시뮬레이션
- 다른 컴퓨터의 시뮬레이션은 에뮬레이터이다.
- 금융 시장의 가격 예측 (예: 적응형 모델러)
- 응력 및 기타 조건 하에서 구조물(건물 및 산업 부품 등)의 동작
- 화학 처리 공장과 같은 산업 공정 설계
- 전략적 경영 및 조직 연구
- 지하 저수지를 모델링하기 위한 석유 공학의 저수지 시뮬레이션
- 공정 공학 시뮬레이션 도구.
- 로봇 및 로봇 제어 알고리즘 설계를 위한 로봇 시뮬레이터
- 도시 개발의 동적 패턴과 도시 토지 이용 및 교통 정책에 대한 반응을 시뮬레이션하는 도시 시뮬레이션 모델.
- 단일 교차로에서 도시를 거쳐 국가 고속도로 네트워크에 이르기까지, 교통 시스템 계획, 설계 및 운영에 이르기까지 도로 네트워크의 일부를 계획하거나 재설계하는 교통 공학. 교통 시뮬레이션에 대한 더 자세한 기사를 참조하십시오.
- 새로운 차량 모델의 안전 메커니즘을 테스트하기 위한 자동차 충돌 모델링.
- 전용 소프트웨어 프레임워크(예: BioMA, OMS3, APSIM)를 통한 농업의 작물-토양 시스템
컴퓨터 시뮬레이션에 대한 사람들의 신뢰성과 신뢰는 시뮬레이션 모델의 유효성에 달려 있으므로, 검증 및 유효성 검사는 컴퓨터 시뮬레이션 개발에 매우 중요하다. 컴퓨터 시뮬레이션의 또 다른 중요한 측면은 결과의 재현성, 즉 시뮬레이션 모델이 실행 시마다 다른 답을 제공해서는 안 된다는 것이다. 이것은 분명해 보일 수 있지만, 이는 실제로는 반 무작위 숫자가 사용되어야 하는 확률적 시뮬레이션에서 특히 주의해야 할 사항이다. 재현성의 예외는 비행 시뮬레이션 및 컴퓨터 게임과 같은 인간-루프 시뮬레이션이다. 여기에서 인간은 시뮬레이션의 일부이며 정확하게 재현하기 어렵거나 불가능한 방식으로 결과에 영향을 미친다.
자동차 제조업체는 새로운 디자인의 안전 기능을 테스트하기 위해 컴퓨터 시뮬레이션을 사용한다. 물리 시뮬레이션 환경에서 자동차의 복사본을 제작함으로써, 고유한 프로토타입을 제작하고 테스트하는 데 필요한 수십만 달러를 절약할 수 있다. 엔지니어는 시뮬레이션을 한 번에 밀리초 단위로 단계별로 진행하여 프로토타입의 각 섹션에 가해지는 정확한 응력을 확인할 수 있다.[15]
컴퓨터 그래픽스는 컴퓨터 시뮬레이션의 결과를 표시하는 데 사용할 수 있다. 애니메이션은 훈련 시뮬레이션에서와 같이 시뮬레이션을 실시간으로 경험하는 데 사용할 수 있다. 어떤 경우에는 애니메이션이 실시간보다 빠르거나 느린 모드에서도 유용할 수 있다. 예를 들어, 실시간보다 빠른 애니메이션은 건물을 대피하는 사람들의 시뮬레이션에서 대기열의 축적을 시각화하는 데 유용할 수 있다. 또한 시뮬레이션 결과는 다양한 방식으로 과학적 시각화를 사용하여 정적 이미지로 집계되는 경우가 많다.
디버깅에서, 프로그램을 기본적으로 실행하는 대신 테스트 중인 프로그램 실행을 시뮬레이션하면 하드웨어 자체보다 훨씬 더 많은 오류를 감지할 수 있으며, 동시에 명령어 추적, 메모리 변경 및 명령어 개수와 같은 유용한 디버깅 정보를 기록할 수 있다. 이 기술은 또한 버퍼 오버플로우 및 유사한 "감지하기 어려운" 오류를 감지하고 성능 정보 및 성능 튜닝 데이터를 생성할 수 있다.
8. 1. 예시
컴퓨터 시뮬레이션은 다양한 분야에서 활용된다. 대기 오염 물질의 확산 분석, 동물 실험 대체, 복잡한 시스템 및 물류 시스템 설계, 방음벽 설계, 애플리케이션 성능 관리 모델링,[14] 비행 시뮬레이터를 이용한 조종사 훈련, 기상 예보, 위험 예측, 전기 회로 및 전력 시스템 시뮬레이션, 에뮬레이터 (다른 컴퓨터 시뮬레이션), 금융 시장 가격 예측, 구조물 동작 분석, 산업 공정 설계, 전략적 경영 및 조직 연구, 석유 공학의 저수지 시뮬레이션, 공정 공학 시뮬레이션 도구, 로봇 시뮬레이터, 도시 시뮬레이션 모델, 교통 공학 및 교통 시뮬레이션, 자동차 충돌 모델링, 농업의 작물-토양 시스템 시뮬레이션 등에 사용된다.컴퓨터 시뮬레이션의 신뢰성은 시뮬레이션 모델의 유효성에 달려 있으며, 결과의 재현성 또한 매우 중요하다. 확률적 시뮬레이션에서는 반 무작위 숫자를 사용해야 하므로 재현성에 특히 주의해야 한다.
자동차 제조업체는 컴퓨터 시뮬레이션을 통해 새로운 디자인의 안전 기능을 테스트한다.[15] 물리 시뮬레이션 환경에서 자동차 복사본을 만들어 프로토타입 제작 및 테스트 비용을 절감할 수 있다.[15] 엔지니어는 시뮬레이션을 통해 각 부분에 가해지는 응력을 확인할 수 있다.[15]
컴퓨터 그래픽스는 시뮬레이션 결과를 표시하는 데 사용될 수 있다. 애니메이션은 훈련 시뮬레이션에서처럼 시뮬레이션을 실시간으로 경험하는 데 사용된다.
디버깅에서 프로그램을 시뮬레이션하면 하드웨어 자체보다 더 많은 오류를 감지할 수 있다. 명령어 추적, 메모리 변경, 명령어 개수 등의 디버깅 정보를 기록할 수 있으며, 버퍼 오버플로우 같은 오류를 감지하고 성능 정보 및 성능 튜닝 데이터를 생성할 수 있다.
9. 함정 및 주의사항
컴퓨터 시뮬레이션에서 결과의 정확성을 제대로 이해하기 위해서는 민감도 분석을 수행하는 것이 매우 중요하지만, 때때로 간과되기도 한다. 예를 들어, 유전 탐사 프로그램의 성공을 결정하는 요인에 대한 확률적 위험 분석은 몬테카를로 방법을 사용하여 다양한 통계적 분포의 샘플을 결합하는 것을 포함한다. 만약 주요 매개변수 중 하나(예: 유류층의 순 비율)가 유효 숫자 한 자리로만 알려져 있다면, 시뮬레이션 결과는 유효 숫자 네 자리로 제시될 수 있지만, 실제로는 유효 숫자 한 자리보다 더 정확하지 않을 수 있어 오해를 일으킬 수 있다.
10. 한국의 컴퓨터 시뮬레이션 현황
10. 1. 정부 정책
10. 2. 산업 활용
10. 3. 연구 개발
참조
[1]
서적
What is your dangerous idea?
HarperCollins
[2]
웹사이트
Researchers stage largest Military Simulation ever
http://www.jpl.nasa.[...]
Caltech
1997-12-04
[3]
웹사이트
Molecular Simulation of Macroscopic Phenomena
http://www.almaden.i[...]
2013-05-22
[4]
웹사이트
Largest computational biology simulation mimics life's most essential nanomachine
http://www.lanl.gov/[...]
Los Alamos National Laboratory
2007-07-04
[5]
웹사이트
Mission to build a simulated brain begins
https://www.newscien[...]
2005-06-06
[6]
서적
The design and analysis of computer experiments
Springer Verlag
[7]
서적
A Guide to Simulation
https://books.google[...]
Springer Science & Business Media
2011-06-28
[8]
서적
An Introduction to Error Analysis: The Study of Uncertainties in Physical Measurements
https://books.google[...]
University Science Books
2015-03-16
[9]
간행물
Comparison of Parameter Estimation Methods in Stochastic Chemical Kinetic Models: Examples in Systems Biology
2014-04
[10]
간행물
Discovery and resupply of pharmacologically active plant-derived natural products: A review
[11]
웹사이트
Study on grinding of pharmaceutical products with an aid of computer simulation
http://pem.utbm.fr/m[...]
2011-07-21
[12]
서적
Creating Models in Psychological Research
Springer Psychology
[13]
간행물
Making Models Match: Replicating an Agent-Based Model
http://jasss.soc.sur[...]
[14]
서적
The Every Computer Performance Book, Chapter 7: Modeling Computer Performance
https://books.google[...]
CreateSpace
2013
[15]
서적
A Gift of Fire: Social, Legal, and Ethical Issues for Computing and the Internet
Prentice Hall
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com